[INFO] fetching crate ninmu-runtime 0.1.0...
[INFO] testing ninmu-runtime-0.1.0 against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] extracting crate ninmu-runtime 0.1.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate ninmu-runtime 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ninmu-runtime 0.1.0
[INFO] tweaked toml for crates.io crate ninmu-runtime 0.1.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ninmu-runtime 0.1.0 on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ninmu-runtime 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958
[INFO] running `Command { std: "docker" "start" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ninmu-telemetry v0.1.0
[INFO] [stderr]    Compiling ninmu-plugins v0.1.0
[INFO] [stderr]    Compiling ninmu-runtime v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.45s
[INFO] running `Command { std: "docker" "inspect" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling ninmu-runtime v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.44s
[INFO] running `Command { std: "docker" "inspect" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ninmu_runtime-d53cdcb13d4f8e45)
[INFO] [stdout] 
[INFO] [stdout] running 475 tests
[INFO] [stdout] test bash::truncation_tests::long_output_truncated ... ok
[INFO] [stdout] test bash_validation::tests::allows_rm_in_workspace_write ... ok
[INFO] [stdout] test bash_validation::tests::allows_read_commands_in_read_only ... ok
[INFO] [stdout] test bash::truncation_tests::one_over_boundary_truncated ... ok
[INFO] [stdout] test bash_validation::tests::allows_git_status_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::allows_sed_stdout_in_read_only ... ok
[INFO] [stdout] test bash::truncation_tests::short_output_unchanged ... ok
[INFO] [stdout] test bash_validation::tests::allows_safe_commands ... ok
[INFO] [stdout] test bash_validation::tests::blocks_package_install_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::blocks_git_push_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::blocks_rm_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::blocks_sed_inplace_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::blocks_sudo_write_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::blocks_write_redirections_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::classifies_destructive_commands ... ok
[INFO] [stdout] test bash_validation::tests::classifies_git_push_as_write ... ok
[INFO] [stdout] test bash_validation::tests::classifies_git_status_as_read_only ... ok
[INFO] [stdout] test bash_validation::tests::classifies_network_commands ... ok
[INFO] [stdout] test bash_validation::tests::classifies_read_only_commands ... ok
[INFO] [stdout] test bash_validation::tests::classifies_sed_inplace_as_write ... ok
[INFO] [stdout] test bash_validation::tests::classifies_sed_stdout_as_read_only ... ok
[INFO] [stdout] test bash_validation::tests::classifies_write_commands ... ok
[INFO] [stdout] test bash::truncation_tests::exact_boundary_unchanged ... ok
[INFO] [stdout] test bash_validation::tests::extracts_command_from_env_prefix ... ok
[INFO] [stdout] test bash_validation::tests::extracts_plain_command ... ok
[INFO] [stdout] test bash_validation::tests::pipeline_allows_safe_read_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::pipeline_blocks_write_in_read_only ... ok
[INFO] [stdout] test bash_validation::tests::pipeline_warns_destructive_in_write_mode ... ok
[INFO] [stdout] test bash_validation::tests::warns_directory_traversal ... ok
[INFO] [stdout] test bash_validation::tests::warns_rm_rf_home ... ok
[INFO] [stdout] test bash_validation::tests::warns_fork_bomb ... ok
[INFO] [stdout] test bash_validation::tests::warns_home_directory_reference ... ok
[INFO] [stdout] test bash_validation::tests::warns_rm_rf_root ... ok
[INFO] [stdout] test bash_validation::tests::warns_shred ... ok
[INFO] [stdout] test bash_validation::tests::workspace_write_allows_local_writes ... ok
[INFO] [stdout] test bootstrap::tests::claude_code_default_covers_each_phase_once ... ok
[INFO] [stdout] test bootstrap::tests::from_phases_deduplicates_while_preserving_order ... ok
[INFO] [stdout] test branch_lock::tests::detects_same_branch_same_module_collisions ... ok
[INFO] [stdout] test bash_validation::tests::workspace_write_warns_system_paths ... ok
[INFO] [stdout] test compact::tests::compaction_does_not_split_tool_use_tool_result_pair ... ok
[INFO] [stdout] test branch_lock::tests::ignores_different_branches ... ok
[INFO] [stdout] test compact::tests::formats_compact_summary_like_upstream ... ok
[INFO] [stdout] test compact::tests::extracts_key_files_from_message_content ... ok
[INFO] [stdout] test compact::tests::infers_pending_work_from_recent_messages ... ok
[INFO] [stdout] test compact::tests::ignores_existing_compacted_summary_when_deciding_to_recompact ... ok
[INFO] [stdout] test branch_lock::tests::detects_nested_module_scope_collisions ... ok
[INFO] [stdout] test compact::tests::compacts_older_messages_into_a_system_summary ... ok
[INFO] [stdout] test compact::tests::truncates_long_blocks_in_summary ... ok
[INFO] [stdout] test compact::tests::leaves_small_sessions_unchanged ... ok
[INFO] [stdout] test config::tests::apply_provider_defaults_fills_unset_fields_from_matching_provider ... ok
[INFO] [stdout] test compact::tests::keeps_previous_compacted_context_when_compacting_again ... ok
[INFO] [stdout] test config::tests::apply_provider_defaults_does_not_override_set_values ... ok
[INFO] [stdout] test config::tests::apply_provider_defaults_noops_when_no_matching_provider ... ok
[INFO] [stdout] test config::tests::deep_merge_objects_merges_nested_maps ... ok
[INFO] [stdout] test config::tests::hook_config_merge_preserves_uniques ... ok
[INFO] [stdout] test config::tests::empty_settings_file_loads_defaults ... ok
[INFO] [stdout] test config::tests::infers_http_mcp_servers_from_url_only_config ... ok
[INFO] [stdout] test config::tests::parses_plugin_config ... ok
[INFO] [stdout] test config::tests::parses_provider_defaults_from_settings ... ok
[INFO] [stdout] test config::tests::parses_provider_fallbacks_chain_with_primary_and_ordered_fallbacks ... ok
[INFO] [stdout] test config::tests::parses_reasoning_effort_in_provider_defaults ... ok
[INFO] [stdout] test config::tests::parses_trusted_roots_from_settings ... ok
[INFO] [stdout] test config::tests::parses_plugin_config_from_enabled_plugins ... ok
[INFO] [stdout] test config::tests::loads_and_merges_claude_code_config_files_by_precedence ... ok
[INFO] [stdout] test config::tests::parses_sandbox_config ... ok
[INFO] [stdout] test config::tests::parses_user_defined_model_aliases_from_settings ... ok
[INFO] [stdout] test config::tests::permission_mode_aliases_resolve_to_expected_modes ... ok
[INFO] [stdout] test config::tests::plugin_state_falls_back_to_default_for_unknown_plugin ... ok
[INFO] [stdout] test config::tests::provider_defaults_empty_when_not_configured ... ok
[INFO] [stdout] test config::tests::provider_fallbacks_default_is_empty_when_unset ... ok
[INFO] [stdout] test config::tests::parses_typed_mcp_and_oauth_config ... ok
[INFO] [stdout] test config::tests::rejects_non_object_settings_files ... ok
[INFO] [stdout] test config::tests::rejects_invalid_hook_entries_before_merge ... ok
[INFO] [stdout] test config::tests::unknown_top_level_key_suggests_closest_match ... ok
[INFO] [stdout] test bash::tests::executes_simple_command ... ok
[INFO] [stdout] test config::tests::rejects_invalid_mcp_server_shapes ... ok
[INFO] [stdout] test config::tests::validates_wrong_type_for_known_field_with_field_path ... ok
[INFO] [stdout] test config::tests::validates_unknown_top_level_keys_with_line_and_field_name ... ok
[INFO] [stdout] test config::tests::trusted_roots_default_is_empty_when_unset ... ok
[INFO] [stdout] test config_validate::tests::check_unsupported_format_allows_json ... ok
[INFO] [stdout] test config_validate::tests::check_unsupported_format_rejects_toml ... ok
[INFO] [stdout] test config::tests::validates_deprecated_top_level_keys_with_replacement_guidance ... ok
[INFO] [stdout] test config_validate::tests::detects_deprecated_permission_mode ... ok
[INFO] [stdout] test config_validate::tests::display_format_deprecated_with_line ... ok
[INFO] [stdout] test config_validate::tests::detects_deprecated_enabled_plugins ... ok
[INFO] [stdout] test config_validate::tests::display_format_unknown_key_with_line ... ok
[INFO] [stdout] test config_validate::tests::detects_wrong_type_for_model ... ok
[INFO] [stdout] test config_validate::tests::display_format_wrong_type_with_line ... ok
[INFO] [stdout] test config_validate::tests::detects_unknown_top_level_key ... ok
[INFO] [stdout] test config_validate::tests::format_diagnostics_includes_all_entries ... ok
[INFO] [stdout] test config_validate::tests::reports_line_number_for_unknown_key ... ok
[INFO] [stdout] test config_validate::tests::reports_line_number_for_wrong_type ... ok
[INFO] [stdout] test config_validate::tests::suggests_close_field_name ... ok
[INFO] [stdout] test config_validate::tests::valid_config_produces_no_diagnostics ... ok
[INFO] [stdout] test config_validate::tests::wrong_type_in_nested_sandbox_field ... ok
[INFO] [stdout] test config_validate::tests::validates_nested_plugins_keys ... ok
[INFO] [stdout] test config_validate::tests::validates_nested_oauth_keys ... ok
[INFO] [stdout] test config_validate::tests::validates_nested_permissions_keys ... ok
[INFO] [stdout] test config_validate::tests::validates_nested_hooks_keys ... ok
[INFO] [stdout] test conversation::tests::auto_compaction_threshold_defaults_and_parses_values ... ok
[INFO] [stdout] test config_validate::tests::validates_nested_sandbox_keys ... ok
[INFO] [stdout] test conversation::tests::compaction_health_probe_skips_empty_compacted_session ... ok
[INFO] [stdout] test conversation::tests::auto_compacts_when_cumulative_input_threshold_is_crossed ... ok
[INFO] [stdout] test bash::tests::disables_sandbox_when_requested ... ok
[INFO] [stdout] test conversation::tests::build_assistant_message_requires_content ... ok
[INFO] [stdout] test conversation::tests::build_assistant_message_requires_message_stop_event ... ok
[INFO] [stdout] test conversation::tests::compaction_health_probe_blocks_turn_when_tool_executor_is_broken ... ok
[INFO] [stdout] test conversation::tests::compacts_session_after_turns ... ok
[INFO] [stdout] test conversation::tests::persists_conversation_turn_messages_to_jsonl_session ... ok
[INFO] [stdout] test conversation::tests::records_runtime_session_trace_events ... ok
[INFO] [stdout] test conversation::tests::run_turn_errors_when_max_iterations_is_exceeded ... ok
[INFO] [stdout] test conversation::tests::run_turn_propagates_api_errors ... ok
[INFO] [stdout] test conversation::tests::forks_runtime_session_without_mutating_original ... ok
[INFO] [stdout] test conversation::tests::reconstructs_usage_tracker_from_restored_session ... ok
[INFO] [stdout] test conversation::tests::records_denied_tool_results_when_prompt_rejects ... ok
[INFO] [stdout] test conversation::tests::skips_auto_compaction_below_threshold ... ok
[INFO] [stdout] test conversation::tests::static_tool_executor_rejects_unknown_tools ... ok
[INFO] [stdout] test conversation::tests::runs_user_to_tool_to_result_loop_end_to_end_and_tracks_usage ... ok
[INFO] [stdout] test file_ops::tests::detects_symlink_escape ... ok
[INFO] [stdout] test file_ops::tests::expand_braces_no_braces ... ok
[INFO] [stdout] test file_ops::tests::edits_file_contents ... ok
[INFO] [stdout] test file_ops::tests::enforces_workspace_boundary ... ok
[INFO] [stdout] test file_ops::tests::expand_braces_nested ... ok
[INFO] [stdout] test file_ops::tests::expand_braces_single_group ... ok
[INFO] [stdout] test file_ops::tests::expand_braces_unmatched ... ok
[INFO] [stdout] test file_ops::tests::reads_and_writes_files ... ok
[INFO] [stdout] test file_ops::tests::rejects_binary_files ... ok
[INFO] [stdout] test file_ops::tests::glob_search_with_braces_finds_files ... ok
[INFO] [stdout] test file_ops::tests::globs_and_greps_directory ... ok
[INFO] [stdout] test conversation::tests::appends_post_tool_use_failure_hook_feedback_to_tool_result ... ok
[INFO] [stdout] test git_context::tests::render_formats_all_sections ... ok
[INFO] [stdout] test git_context::tests::render_omits_empty_sections ... ok
[INFO] [stdout] test conversation::tests::denies_tool_use_when_pre_tool_hook_fails ... ok
[INFO] [stdout] test conversation::tests::denies_tool_use_when_pre_tool_hook_blocks ... ok
[INFO] [stdout] test green_contract::tests::given_lower_level_when_evaluating_contract_then_it_is_unsatisfied ... ok
[INFO] [stdout] test green_contract::tests::given_matching_level_when_evaluating_contract_then_it_is_satisfied ... ok
[INFO] [stdout] test green_contract::tests::given_no_green_level_when_evaluating_contract_then_contract_is_unsatisfied ... ok
[INFO] [stdout] test green_contract::tests::given_higher_level_when_checking_requirement_then_it_still_satisfies_contract ... ok
[INFO] [stdout] test conversation::tests::appends_post_tool_hook_feedback_to_tool_result ... ok
[INFO] [stdout] test hooks::tests::allows_exit_code_zero_and_captures_stdout ... ok
[INFO] [stdout] test file_ops::tests::rejects_oversized_writes ... ok
[INFO] [stdout] test hooks::tests::denies_exit_code_two ... ok
[INFO] [stdout] test hooks::tests::malformed_nonempty_hook_output_reports_explicit_diagnostic_with_previews ... ok
[INFO] [stdout] test hooks::tests::parses_pre_hook_permission_override_and_updated_input ... ok
[INFO] [stdout] test hooks::tests::propagates_other_non_zero_statuses_as_failures ... ok
[INFO] [stdout] test hooks::tests::executes_hooks_in_configured_order ... ok
[INFO] [stdout] test hooks::tests::runs_post_tool_use_failure_hooks ... ok
[INFO] [stdout] test json::tests::escapes_control_characters ... ok
[INFO] [stdout] test json::tests::renders_and_parses_json_values ... ok
[INFO] [stdout] test hooks::tests::stops_running_hooks_after_failure ... ok
[INFO] [stdout] test lane_events::tests::blocked_and_failed_events_reuse_blocker_details ... ok
[INFO] [stdout] test lane_events::tests::canonical_lane_event_names_serialize_to_expected_wire_values ... ok
[INFO] [stdout] test lane_events::tests::compute_event_fingerprint_differs_for_different_inputs ... ok
[INFO] [stdout] test lane_events::tests::commit_events_can_carry_worktree_and_supersession_metadata ... ok
[INFO] [stdout] test lane_events::tests::compute_event_fingerprint_is_deterministic ... ok
[INFO] [stdout] test lane_events::tests::dedupe_terminal_events_suppresses_duplicates ... ok
[INFO] [stdout] test lane_events::tests::dedupes_superseded_commit_events_by_canonical_commit ... ok
[INFO] [stdout] test lane_events::tests::failure_classes_cover_canonical_taxonomy_wire_values ... ok
[INFO] [stdout] test lane_events::tests::event_provenance_round_trips_through_serialization ... ok
[INFO] [stdout] test lane_events::tests::is_terminal_event_detects_terminal_states ... ok
[INFO] [stdout] test lane_events::tests::lane_event_builder_constructs_event_with_metadata ... ok
[INFO] [stdout] test lane_events::tests::lane_event_metadata_includes_monotonic_sequence ... ok
[INFO] [stdout] test lane_events::tests::lane_event_metadata_round_trips_through_serialization ... ok
[INFO] [stdout] test lane_events::tests::lane_ownership_binding_includes_workflow_scope ... ok
[INFO] [stdout] test lane_events::tests::session_identity_is_complete_at_creation ... ok
[INFO] [stdout] test lane_events::tests::ship_provenance_events_serialize_to_expected_wire_values ... ok
[INFO] [stdout] test lane_events::tests::watcher_action_round_trips_through_serialization ... ok
[INFO] [stdout] test lane_events::tests::workspace_mismatch_failure_class_round_trips_in_branch_event_payloads ... ok
[INFO] [stdout] test lsp_client::tests::add_diagnostics_missing_language_errors ... ok
[INFO] [stdout] test lsp_client::tests::clear_diagnostics_missing_language_errors ... ok
[INFO] [stdout] test lsp_client::tests::disconnects_server ... ok
[INFO] [stdout] test hooks::tests::stops_running_failure_hooks_after_failure ... ok
[INFO] [stdout] test lsp_client::tests::dispatch_diagnostics_without_path_aggregates ... ok
[INFO] [stdout] test lsp_client::tests::dispatch_no_server_for_path_errors ... ok
[INFO] [stdout] test lsp_client::tests::dispatch_disconnected_server_error_payload ... ok
[INFO] [stdout] test lsp_client::tests::dispatch_non_diagnostics_requires_path ... ok
[INFO] [stdout] test lsp_client::tests::dispatches_diagnostics_action ... ok
[INFO] [stdout] test lsp_client::tests::dispatches_hover_action ... ok
[INFO] [stdout] test lsp_client::tests::finds_server_by_file_extension ... ok
[INFO] [stdout] test lsp_client::tests::find_server_for_path_no_extension ... ok
[INFO] [stdout] test lsp_client::tests::find_server_for_all_extensions ... ok
[INFO] [stdout] test lsp_client::tests::get_missing_server_returns_none ... ok
[INFO] [stdout] test lsp_client::tests::get_diagnostics_across_servers ... ok
[INFO] [stdout] test lsp_client::tests::list_servers_with_multiple ... ok
[INFO] [stdout] test lsp_client::tests::lsp_action_from_str_all_aliases ... ok
[INFO] [stdout] test lsp_client::tests::lsp_server_status_display_all_variants ... ok
[INFO] [stdout] test lsp_client::tests::manages_diagnostics ... ok
[INFO] [stdout] test lsp_client::tests::registers_and_retrieves_server ... ok
[INFO] [stdout] test lsp_client::tests::rejects_action_on_disconnected_server ... ok
[INFO] [stdout] test lsp_client::tests::rejects_unknown_action ... ok
[INFO] [stdout] test mcp::tests::normalizes_server_names_for_mcp_tooling ... ok
[INFO] [stdout] test mcp::tests::computes_signatures_for_stdio_and_remote_servers ... ok
[INFO] [stdout] test mcp::tests::scoped_hash_ignores_scope_but_tracks_config_content ... ok
[INFO] [stdout] test mcp_client::tests::bootstraps_remote_servers_with_oauth_auth ... ok
[INFO] [stdout] test mcp::tests::unwraps_ccr_proxy_urls_for_signature_matching ... ok
[INFO] [stdout] test mcp_client::tests::bootstraps_stdio_servers_into_transport_targets ... ok
[INFO] [stdout] test mcp_client::tests::bootstraps_websocket_and_sdk_transports_without_oauth ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::error_surface_display_includes_phase_server_and_recoverable_flag ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_each_phase_when_failure_is_recorded_then_error_is_tracked_per_phase ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_failure_during_resource_discovery_when_shutting_down_then_cleanup_still_succeeds ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_nonrecoverable_failure_when_returning_to_ready_then_validator_rejects_resume ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_invalid_transition_when_running_phase_then_structured_failure_is_recorded ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_recoverable_failure_when_returning_to_ready_then_validator_allows_resume ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_spawn_connect_timeout_when_recorded_then_waited_duration_is_preserved ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_startup_path_when_running_to_cleanup_then_each_control_transition_succeeds ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::phase_display_matches_serde_name ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_tool_discovery_when_resource_discovery_is_skipped_then_ready_is_still_allowed ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::validates_expected_phase_transitions ... ok
[INFO] [stdout] test mcp_lifecycle_hardened::tests::given_partial_server_health_when_building_degraded_report_then_missing_tools_are_reported ... ok
[INFO] [stdout] test mcp_server::tests::dispatch_initialize_returns_server_info ... ok
[INFO] [stdout] test mcp_server::tests::dispatch_tools_call_surfaces_handler_error ... ok
[INFO] [stdout] test mcp_server::tests::dispatch_tools_list_returns_registered_tools ... ok
[INFO] [stdout] test mcp_server::tests::dispatch_unknown_method_returns_method_not_found ... ok
[INFO] [stdout] test mcp_server::tests::dispatch_tools_call_wraps_handler_output ... ok
[INFO] [stdout] test mcp_stdio::tests::direct_spawn_uses_transport_env ... ok
[INFO] [stdout] test git_context::tests::detects_staged_files ... ok
[INFO] [stdout] test mcp_stdio::tests::given_mismatched_response_id_when_initialize_then_invalid_data_is_returned ... ok
[INFO] [stdout] test mcp_stdio::tests::given_lowercase_content_length_when_initialize_then_response_parses ... ok
[INFO] [stdout] test mcp_stdio::tests::given_child_exits_after_discovery_when_calling_twice_then_second_call_succeeds_after_reset ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_discovers_tools_from_stdio_config ... ok
[INFO] [stdout] test mcp_stdio::tests::given_tool_call_disconnects_once_when_calling_twice_then_manager_resets_and_next_call_succeeds ... ok
[INFO] [stdout] test mcp_stdio::tests::given_initialize_hangs_once_when_discover_tools_then_manager_retries_and_succeeds ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_records_unsupported_non_stdio_servers_without_panicking ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_reports_unknown_qualified_tool_name ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_lists_and_reads_resources_from_stdio_servers ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_reuses_spawned_server_between_discovery_and_call ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_routes_tool_calls_to_correct_server ... ok
[INFO] [stdout] test mcp_stdio::tests::lists_tools_calls_tool_and_reads_resources_over_jsonrpc ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_times_out_slow_tool_calls ... ok
[INFO] [stdout] test mcp_stdio::tests::rejects_non_stdio_bootstrap ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_surfaces_parse_errors_from_tool_calls ... ok
[INFO] [stdout] test mcp_stdio::tests::spawns_stdio_process_and_round_trips_io ... ok
[INFO] [stdout] test git_context::tests::limits_to_five_recent_commits ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_shutdown_terminates_spawned_children_and_is_idempotent ... ok
[INFO] [stdout] test mcp_stdio::tests::surfaces_jsonrpc_errors_from_tool_calls ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::disconnect_missing_returns_none ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::get_server_returns_none_for_missing ... ok
[INFO] [stdout] test mcp_stdio::tests::manager_discovery_report_keeps_healthy_servers_when_one_server_fails ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::given_connected_server_without_manager_when_calling_tool_then_it_errors ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::len_and_is_empty_transitions ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::list_servers_returns_all_registered ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::list_tools_from_connected_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::list_tools_rejects_disconnected_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::list_tools_rejects_missing_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::lists_resources_from_connected_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::mcp_connection_status_display_all_variants ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::reads_specific_resource ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::registers_and_retrieves_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::rejects_operations_on_missing_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::rejects_resource_listing_for_disconnected_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::rejects_tool_call_on_disconnected_server ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::sets_auth_and_disconnects ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::upsert_overwrites_existing_server ... ok
[INFO] [stdout] test oauth::tests::builds_authorize_url_and_form_requests ... ok
[INFO] [stdout] test oauth::tests::generates_pkce_pair_and_state ... ok
[INFO] [stdout] test mcp_stdio::tests::write_jsonrpc_request_emits_content_length_frame ... ok
[INFO] [stdout] test oauth::tests::parses_callback_query_and_target ... ok
[INFO] [stdout] test oauth::tests::s256_challenge_matches_expected_vector ... ok
[INFO] [stdout] test permission_enforcer::tests::active_mode_returns_policy_mode ... ok
[INFO] [stdout] test permission_enforcer::tests::allow_mode_permits_everything ... ok
[INFO] [stdout] test git_context::tests::detects_branch_name_and_commits ... ok
[INFO] [stdout] test git_context::tests::returns_none_for_non_git_directory ... ok
[INFO] [stdout] test permission_enforcer::tests::bash_heuristic_in_place_flag_blocks ... ok
[INFO] [stdout] test permission_enforcer::tests::bash_heuristic_empty_command ... ok
[INFO] [stdout] test permission_enforcer::tests::check_denied_payload_contains_tool_and_modes ... ok
[INFO] [stdout] test permission_enforcer::tests::bash_heuristic_redirects_block_read_only_commands ... ok
[INFO] [stdout] test oauth::tests::oauth_credentials_round_trip_and_clear_preserves_other_fields ... ok
[INFO] [stdout] test permission_enforcer::tests::prompt_mode_denies_without_prompter ... ok
[INFO] [stdout] test permission_enforcer::tests::read_only_allows_read_commands ... ok
[INFO] [stdout] test permission_enforcer::tests::read_only_check_file_write_denied_payload ... ok
[INFO] [stdout] test permission_enforcer::tests::read_only_command_heuristic ... ok
[INFO] [stdout] test permission_enforcer::tests::read_only_denies_write_commands ... ok
[INFO] [stdout] test permission_enforcer::tests::read_only_denies_writes ... ok
[INFO] [stdout] test permission_enforcer::tests::workspace_boundary_check ... ok
[INFO] [stdout] test permission_enforcer::tests::danger_full_access_permits_file_writes_and_bash ... ok
[INFO] [stdout] test permission_enforcer::tests::workspace_root_with_trailing_slash ... ok
[INFO] [stdout] test permission_enforcer::tests::prompt_mode_check_bash_denied_payload_fields ... ok
[INFO] [stdout] test mcp_stdio::tests::round_trips_initialize_request_and_response_over_stdio_frames ... ok
[INFO] [stdout] test permission_enforcer::tests::workspace_write_relative_path_resolved ... ok
[INFO] [stdout] test permission_enforcer::tests::workspace_write_allows_within_workspace ... ok
[INFO] [stdout] test permission_enforcer::tests::workspace_root_equality ... ok
[INFO] [stdout] test permission_enforcer::tests::workspace_write_denies_outside_workspace ... ok
[INFO] [stdout] test permissions::tests::allows_tools_when_active_mode_meets_requirement ... ok
[INFO] [stdout] test permissions::tests::applies_rule_based_denials_and_allows ... ok
[INFO] [stdout] test permission_enforcer::tests::bash_heuristic_full_path_prefix ... ok
[INFO] [stdout] test permissions::tests::honors_prompt_rejection_reason ... ok
[INFO] [stdout] test permissions::tests::denies_read_only_escalations_without_prompt ... ok
[INFO] [stdout] test permissions::tests::hook_ask_forces_prompt ... ok
[INFO] [stdout] test permissions::tests::hook_allow_still_respects_ask_rules ... ok
[INFO] [stdout] test permissions::tests::prompts_for_workspace_write_to_danger_full_access_escalation ... ok
[INFO] [stdout] test plugin_lifecycle::tests::degraded_startup_when_one_of_three_servers_fails ... ok
[INFO] [stdout] test plugin_lifecycle::tests::degraded_server_status_keeps_server_usable ... ok
[INFO] [stdout] test plugin_lifecycle::tests::full_lifecycle_happy_path ... ok
[INFO] [stdout] test permissions::tests::ask_rules_force_prompt_even_when_mode_allows ... ok
[INFO] [stdout] test policy_engine::tests::completed_lane_rule_closes_out_and_cleans_up ... ok
[INFO] [stdout] test plugin_lifecycle::tests::graceful_shutdown ... ok
[INFO] [stdout] test policy_engine::tests::combinators_handle_empty_cases_and_nested_chains ... ok
[INFO] [stdout] test policy_engine::tests::merge_to_dev_rule_fires_for_green_scoped_reviewed_lane ... ok
[INFO] [stdout] test policy_engine::tests::non_reconciled_lane_does_not_trigger_reconcile_rule ... ok
[INFO] [stdout] test policy_engine::tests::matching_rules_are_returned_in_priority_order_with_stable_ties ... ok
[INFO] [stdout] test permissions::tests::hook_deny_short_circuits_permission_flow ... ok
[INFO] [stdout] test plugin_lifecycle::tests::complete_failure_when_all_servers_fail ... ok
[INFO] [stdout] test policy_engine::tests::reconciled_context_has_correct_defaults ... ok
[INFO] [stdout] test policy_engine::tests::reconciled_lane_emits_reconcile_and_cleanup ... ok
[INFO] [stdout] test policy_engine::tests::stale_branch_rule_fires_at_threshold ... ok
[INFO] [stdout] test policy_engine::tests::startup_blocked_rule_recovers_then_escalates ... ok
[INFO] [stdout] test prompt::tests::dedupes_identical_instruction_content_across_scopes ... ok
[INFO] [stdout] test policy_engine::tests::reconcile_reason_variants_are_distinct ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::call_tool_payload_structure ... ok
[INFO] [stdout] test mcp_tool_bridge::tests::given_connected_server_with_manager_when_calling_tool_then_it_returns_live_result ... ok
[INFO] [stdout] test prompt::tests::displays_context_paths_compactly ... ok
[INFO] [stdout] test prompt::tests::discovers_dot_claude_instructions_markdown ... ok
[INFO] [stdout] test prompt::tests::normalizes_and_collapses_blank_lines ... ok
[INFO] [stdout] test prompt::tests::renders_claude_code_style_sections_with_project_context ... ok
[INFO] [stdout] test prompt::tests::discovers_instruction_files_from_ancestor_chain ... ok
[INFO] [stdout] test prompt::tests::truncates_large_instruction_content_for_rendering ... ok
[INFO] [stdout] test prompt::tests::renders_instruction_file_metadata ... ok
[INFO] [stdout] test recovery_recipes::tests::emitted_events_include_structured_attempt_data ... ok
[INFO] [stdout] test prompt::tests::truncates_instruction_content_to_budget ... ok
[INFO] [stdout] test recovery_recipes::tests::each_scenario_has_a_matching_recipe ... ok
[INFO] [stdout] test recovery_recipes::tests::escalation_after_max_attempts_exceeded ... ok
[INFO] [stdout] test recovery_recipes::tests::failure_scenario_display_all_variants ... ok
[INFO] [stdout] test recovery_recipes::tests::multi_step_success_reports_correct_steps_taken ... ok
[INFO] [stdout] test recovery_recipes::tests::mcp_handshake_recipe_uses_abort_escalation_policy ... ok
[INFO] [stdout] test recovery_recipes::tests::partial_plugin_startup_recipe_has_restart_then_handshake ... ok
[INFO] [stdout] test recovery_recipes::tests::partial_recovery_when_step_fails_midway ... ok
[INFO] [stdout] test recovery_recipes::tests::provider_failure_recipe_uses_restart_worker_step ... ok
[INFO] [stdout] test recovery_recipes::tests::provider_failure_recovery_attempt_succeeds_then_escalates ... ok
[INFO] [stdout] test recovery_recipes::tests::stale_branch_recipe_has_rebase_then_clean_build ... ok
[INFO] [stdout] test recovery_recipes::tests::first_step_failure_escalates_immediately ... ok
[INFO] [stdout] test recovery_recipes::tests::recovery_context_tracks_attempts_per_scenario ... ok
[INFO] [stdout] test recovery_recipes::tests::successful_recovery_returns_recovered_and_emits_events ... ok
[INFO] [stdout] test recovery_recipes::tests::worker_failure_kind_maps_to_failure_scenario ... ok
[INFO] [stdout] test remote::tests::helper_outputs_match_expected_shapes ... ok
[INFO] [stdout] test remote::tests::bootstrap_derives_proxy_state_and_env ... ok
[INFO] [stdout] test remote::tests::remote_context_reads_env_state ... ok
[INFO] [stdout] test remote::tests::inherited_proxy_env_requires_proxy_and_ca ... ok
[INFO] [stdout] test remote::tests::bootstrap_fails_open_when_token_or_session_is_missing ... ok
[INFO] [stdout] test sandbox::tests::builds_linux_launcher_with_network_flag_when_requested ... ok
[INFO] [stdout] test sandbox::tests::resolves_request_with_overrides ... ok
[INFO] [stdout] test session::tests::appends_messages_to_persisted_jsonl_session ... ok
[INFO] [stdout] test sandbox::tests::detects_container_markers_from_multiple_sources ... ok
[INFO] [stdout] test session::tests::forks_sessions_with_branch_metadata_and_persists_it ... ok
[INFO] [stdout] test remote::tests::token_reader_trims_and_handles_missing_files ... ok
[INFO] [stdout] test session::tests::normalizes_blank_fork_branch_name_to_none ... ok
[INFO] [stdout] test session::tests::persists_and_restores_session_jsonl ... ok
[INFO] [stdout] test session::tests::persists_workspace_root_round_trip_and_forks_inherit_it ... ok
[INFO] [stdout] test session::tests::persists_compaction_metadata ... ok
[INFO] [stdout] test session::tests::rejects_jsonl_message_record_without_message_payload ... ok
[INFO] [stdout] test session::tests::rejects_jsonl_record_with_unknown_type ... ok
[INFO] [stdout] test session::tests::rejects_legacy_session_json_without_messages ... ok
[INFO] [stdout] test session::tests::rejects_jsonl_record_without_type ... ok
[INFO] [stdout] test session::tests::rejects_unknown_content_block_type ... ok
[INFO] [stdout] test session::tests::loads_legacy_session_json_object ... ok
[INFO] [stdout] test session::tests::session_timestamps_are_monotonic_under_tight_loops ... ok
[INFO] [stdout] test session::workspace_sessions_dir_tests::workspace_sessions_dir_differs_for_different_cwds ... ok
[INFO] [stdout] test session::tests::rotates_and_cleans_up_large_session_logs ... ok
[INFO] [stdout] test session::workspace_sessions_dir_tests::workspace_sessions_dir_returns_fingerprinted_path_for_valid_cwd ... ok
[INFO] [stdout] test session_control::tests::latest_session_prefers_semantic_updated_at_over_file_mtime ... ok
[INFO] [stdout] test session_control::tests::forks_session_into_managed_storage_with_lineage ... ok
[INFO] [stdout] test session_control::tests::resolves_latest_alias_and_loads_session_from_workspace_root ... ok
[INFO] [stdout] test session_control::tests::session_store_create_and_load_round_trip ... ok
[INFO] [stdout] test session_control::tests::creates_and_lists_managed_sessions ... ok
[INFO] [stdout] test session_control::tests::session_store_from_cwd_canonicalizes_equivalent_paths ... ok
[INFO] [stdout] test session_control::tests::session_store_fork_stays_in_same_namespace ... ok
[INFO] [stdout] test session_control::tests::session_store_from_data_dir_namespaces_by_workspace ... ok
[INFO] [stdout] test session_control::tests::session_store_from_cwd_isolates_sessions_by_workspace ... ok
[INFO] [stdout] test prompt::tests::discover_with_git_includes_diff_snapshot_for_tracked_changes ... ok
[INFO] [stdout] test session_control::tests::session_store_latest_and_resolve_reference ... ok
[INFO] [stdout] test session_control::tests::session_store_rejects_legacy_session_from_other_workspace ... ok
[INFO] [stdout] test session_control::tests::workspace_fingerprint_is_deterministic_and_differs_per_path ... ok
[INFO] [stdout] test sse::tests::finish_flushes_a_trailing_event_without_separator ... ok
[INFO] [stdout] test sse::tests::parses_streaming_events ... ok
[INFO] [stdout] test session_control::tests::session_store_loads_safe_legacy_session_from_same_workspace ... ok
[INFO] [stdout] test stale_base::tests::format_warning_returns_message_for_diverged ... ok
[INFO] [stdout] test stale_base::tests::format_warning_returns_none_for_matches ... ok
[INFO] [stdout] test session_control::tests::session_store_loads_unbound_legacy_session_from_same_workspace ... ok
[INFO] [stdout] test stale_base::tests::format_warning_returns_none_for_no_expected_base ... ok
[INFO] [stdout] test prompt::tests::discover_with_git_includes_recent_commits_and_renders_them ... ok
[INFO] [stdout] test stale_base::tests::matches_with_claw_base_file_in_real_repo ... ok
[INFO] [stdout] test stale_base::tests::diverged_when_head_moved_past_expected_base ... ok
[INFO] [stdout] test stale_base::tests::reads_claw_base_file ... ok
[INFO] [stdout] test stale_base::tests::not_a_git_repo_when_outside_repo ... ok
[INFO] [stdout] test stale_base::tests::resolve_expected_base_falls_back_to_file ... ok
[INFO] [stdout] test stale_base::tests::resolve_expected_base_returns_none_when_nothing_available ... ok
[INFO] [stdout] test stale_base::tests::returns_none_for_empty_claw_base_file ... ok
[INFO] [stdout] test stale_base::tests::returns_none_for_missing_claw_base_file ... ok
[INFO] [stdout] test stale_base::tests::resolve_expected_base_prefers_flag_over_file ... ok
[INFO] [stdout] test prompt::tests::discover_with_git_includes_status_snapshot ... ok
[INFO] [stdout] test stale_base::tests::no_expected_base_when_source_is_none ... ok
[INFO] [stdout] test stale_branch::tests::policy_auto_merge_forward_for_diverged_branch ... ok
[INFO] [stdout] test stale_branch::tests::policy_auto_rebase_for_stale_branch ... ok
[INFO] [stdout] test stale_branch::tests::policy_block_for_stale_branch ... ok
[INFO] [stdout] test stale_branch::tests::policy_noop_for_fresh_branch ... ok
[INFO] [stdout] test stale_branch::tests::policy_warn_for_diverged_branch ... ok
[INFO] [stdout] test stale_branch::tests::policy_warn_for_stale_branch ... ok
[INFO] [stdout] test prompt::tests::load_system_prompt_reads_claude_files_and_config ... ok
[INFO] [stdout] test summary_compression::tests::collapses_whitespace_and_duplicate_lines ... ok
[INFO] [stdout] test summary_compression::tests::keeps_core_lines_when_budget_is_tight ... ok
[INFO] [stdout] test stale_base::tests::matches_when_head_equals_expected_base ... ok
[INFO] [stdout] test summary_compression::tests::provides_a_default_text_only_helper ... ok
[INFO] [stdout] test task_packet::tests::invalid_packet_accumulates_errors ... ok
[INFO] [stdout] test task_packet::tests::valid_packet_passes_validation ... ok
[INFO] [stdout] test task_packet::tests::serialization_roundtrip_preserves_packet ... ok
[INFO] [stdout] test task_registry::tests::appends_and_retrieves_output ... ok
[INFO] [stdout] test task_registry::tests::assign_team_rejects_missing_task ... ok
[INFO] [stdout] test stale_base::tests::diverged_with_claw_base_file_after_new_commit ... ok
[INFO] [stdout] test task_registry::tests::creates_and_retrieves_tasks ... ok
[INFO] [stdout] test task_registry::tests::creates_task_from_packet ... ok
[INFO] [stdout] test task_registry::tests::assigns_team_and_removes_task ... ok
[INFO] [stdout] test task_registry::tests::create_without_description ... ok
[INFO] [stdout] test task_registry::tests::lists_tasks_with_optional_filter ... ok
[INFO] [stdout] test task_registry::tests::new_registry_is_empty ... ok
[INFO] [stdout] test task_registry::tests::remove_nonexistent_returns_none ... ok
[INFO] [stdout] test task_registry::tests::stop_rejects_completed_task ... ok
[INFO] [stdout] test task_registry::tests::stop_rejects_failed_task ... ok
[INFO] [stdout] test task_registry::tests::stop_succeeds_from_created_state ... ok
[INFO] [stdout] test task_registry::tests::stops_running_task ... ok
[INFO] [stdout] test task_registry::tests::rejects_operations_on_missing_task ... ok
[INFO] [stdout] test task_registry::tests::task_status_display_all_variants ... ok
[INFO] [stdout] test task_registry::tests::updates_task_with_messages ... ok
[INFO] [stdout] test team_cron_registry::tests::cron_create_without_description ... ok
[INFO] [stdout] test team_cron_registry::tests::creates_and_retrieves_team ... ok
[INFO] [stdout] test team_cron_registry::tests::creates_and_retrieves_cron ... ok
[INFO] [stdout] test team_cron_registry::tests::cron_list_all_disabled_returns_empty_for_enabled_only ... ok
[INFO] [stdout] test team_cron_registry::tests::cron_disable_updates_timestamp ... ok
[INFO] [stdout] test team_cron_registry::tests::cron_record_run_updates_timestamp_and_counter ... ok
[INFO] [stdout] test team_cron_registry::tests::deletes_cron_entry ... ok
[INFO] [stdout] test team_cron_registry::tests::lists_with_enabled_filter ... ok
[INFO] [stdout] test team_cron_registry::tests::new_cron_registry_is_empty ... ok
[INFO] [stdout] test team_cron_registry::tests::lists_and_deletes_teams ... ok
[INFO] [stdout] test team_cron_registry::tests::rejects_missing_cron_operations ... ok
[INFO] [stdout] test team_cron_registry::tests::rejects_missing_team_operations ... ok
[INFO] [stdout] test team_cron_registry::tests::team_len_transitions ... ok
[INFO] [stdout] test team_cron_registry::tests::team_remove_nonexistent_returns_none ... ok
[INFO] [stderr] Switched to a new branch 'topic'
[INFO] [stdout] test team_cron_registry::tests::new_team_registry_is_empty ... ok
[INFO] [stdout] test team_cron_registry::tests::records_cron_runs ... ok
[INFO] [stdout] test team_cron_registry::tests::team_status_display_all_variants ... ok
[INFO] [stdout] test trust_resolver::tests::auto_trusts_allowlisted_cwd_after_prompt_detection ... ok
[INFO] [stdout] test trust_resolver::tests::denied_root_takes_precedence_over_allowlist ... ok
[INFO] [stdout] test trust_resolver::tests::detects_known_trust_prompt_copy ... ok
[INFO] [stdout] test trust_resolver::tests::does_not_emit_events_when_prompt_is_absent ... ok
[INFO] [stdout] test trust_resolver::tests::sibling_prefix_does_not_match_trusted_root ... ok
[INFO] [stdout] test usage::tests::computes_cost_summary_lines ... ok
[INFO] [stdout] test usage::tests::deepseek_models_have_correct_pricing ... ok
[INFO] [stdout] test usage::tests::local_providers_have_zero_cost_pricing ... ok
[INFO] [stdout] test usage::tests::marks_unknown_model_pricing_as_fallback ... ok
[INFO] [stdout] test usage::tests::reconstructs_usage_from_session_messages ... ok
[INFO] [stdout] test usage::tests::supports_model_specific_pricing ... ok
[INFO] [stdout] test usage::tests::tracks_per_provider_usage ... ok
[INFO] [stdout] test usage::tests::tracks_true_cumulative_usage ... ok
[INFO] [stdout] test worker_boot::tests::allowlisted_trust_prompt_auto_resolves_then_reaches_ready_state ... ok
[INFO] [stdout] test worker_boot::tests::classify_startup_failure_defaults_to_unknown ... ok
[INFO] [stdout] test worker_boot::tests::classify_startup_failure_detects_transport_dead ... ok
[INFO] [stdout] test worker_boot::tests::classify_startup_failure_detects_worker_crashed ... ok
[INFO] [stdout] test worker_boot::tests::await_ready_surfaces_blocked_or_ready_worker_state ... ok
[INFO] [stdout] test trust_resolver::tests::requires_approval_for_unknown_cwd_after_prompt_detection ... ok
[INFO] [stdout] test worker_boot::tests::emit_state_file_writes_worker_status_on_transition ... ok
[INFO] [stdout] test worker_boot::tests::observe_completion_accepts_normal_finish_with_tokens ... ok
[INFO] [stdout] test worker_boot::tests::observe_completion_classifies_provider_failure_on_unknown_finish_zero_tokens ... ok
[INFO] [stdout] test worker_boot::tests::ready_detection_ignores_plain_shell_prompts ... ok
[INFO] [stdout] test worker_boot::tests::prompt_delivery_detects_wrong_target_and_replays_to_expected_worker ... ok
[INFO] [stdout] test worker_boot::tests::prompt_misdelivery_is_detected_and_replay_can_be_rearmed ... ok
[INFO] [stdout] test worker_boot::tests::restart_and_terminate_reset_or_finish_worker ... ok
[INFO] [stdout] test worker_boot::tests::startup_evidence_bundle_serializes_correctly ... ok
[INFO] [stdout] test worker_boot::tests::startup_timeout_emits_evidence_bundle_with_classification ... ok
[INFO] [stdout] test worker_boot::tests::startup_timeout_classifies_prompt_acceptance_timeout ... ok
[INFO] [stdout] test worker_boot::tests::startup_timeout_classifies_trust_required_when_prompt_blocked ... ok
[INFO] [stdout] test worker_boot::tests::trust_prompt_blocks_non_allowlisted_worker_until_resolved ... ok
[INFO] [stderr] Switched to a new branch 'topic'
[INFO] [stdout] test worker_boot::tests::wrong_task_receipt_mismatch_is_detected_before_execution_continues ... ok
[INFO] [stderr] Switched to a new branch 'topic'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Switched to branch 'main'
[INFO] [stderr] Switched to a new branch 'topic'
[INFO] [stdout] test stale_branch::tests::fresh_branch_passes ... ok
[INFO] [stdout] test stale_branch::tests::diverged_branch_detection ... ok
[INFO] [stdout] test stale_branch::tests::fresh_branch_ahead_of_main_still_fresh ... ok
[INFO] [stdout] test stale_branch::tests::stale_branch_detected_with_correct_behind_count_and_missing_fixes ... ok
[INFO] [stdout] test hooks::tests::abort_signal_cancels_long_running_hook_and_reports_progress ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 475 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.07s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test green_contract_satisfied_allows_merge ... ok
[INFO] [stdout] test green_contract_unsatisfied_blocks_merge ... ok
[INFO] [stdout] test fresh_approved_lane_gets_merge_action ... ok
[INFO] [stdout] test fresh_branch_does_not_trigger_stale_policy ... ok
[INFO] [stdout] test stale_branch_apply_policy_produces_merge_forward_action ... ok
[INFO] [stdout] test stale_branch_apply_policy_produces_rebase_action ... ok
[INFO] [stdout] test stale_branch_detection_flows_into_policy_engine ... ok
[INFO] [stdout] test stale_branch_apply_policy_warn_only ... ok
[INFO] [stdout] test stale_branch_fresh_produces_noop ... ok
[INFO] [stdout] test end_to_end_stale_lane_gets_merge_forward_action ... ok
[INFO] [stdout] test reconciled_lane_matches_reconcile_condition ... ok
[INFO] [stdout] test worker_provider_failure_flows_through_recovery_to_policy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-037d372fac0cbedf)
[INFO] [stderr]    Doc-tests ninmu_runtime
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958", kill_on_drop: false }`
[INFO] [stdout] b811b8650f0f9cb32a07d43f7f4604f4a6a322ce2e84d06bd65a98135fa78958
